home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Taifun / Taifun 219 (1992-09-10)(Manewaldt, A.)(DE)(PD).zip / Taifun 219 (1992-09-10)(Manewaldt, A.)(DE)(PD).adf / BILDSCHIRMSCHONER / Bildschirmschoner0.bas < prev    next >
BASIC Source File  |  1992-09-02  |  3KB  |  168 lines

  1. LIBRARY "exec.library"
  2. DECLARE FUNCTION Findtask&() LIBRARY
  3. DECLARE FUNCTION settaskpri&() LIBRARY
  4. task&=Findtask&(0)
  5. CALL settaskpri&(task&,-127)
  6. WINDOW 1,"Bildschirmschoner 1.0          © 1992 by Siegfried Rings",(0,0)-(600,40),24+4+3
  7. PRINT "okay1"
  8.    sWindow&   = WINDOW(7)
  9.    sScreen&   = PEEKL(sWindow& + 46)
  10.    sViewPort& = sScreen& + 44
  11.    sRastPort& = sScreen& + 84
  12.    sColorMap& = PEEKL(sViewPort& + 4)
  13.    colorTab&  = PEEKL(sColorMap& + 4)
  14.  
  15. FOR i=0 TO 3
  16. farbe=PEEKW(colorTab&+(2*i))
  17. r3%(i)=farbe\16^2
  18. g3%(i)=(farbe MOD 16^2)\16
  19. b3%(i)=farbe-r3%(i)*256-g3%(i)*16
  20. NEXT i
  21. PRINT "okay2"
  22. MENU 1,0,1,"SR_SOFTWARE_DESIGN "
  23. MENU 1,1,1,"Zeit einstellen"
  24. MENU 1,2,1,"Über das Programm"
  25. MENU 1,3,1,"Entfernen"
  26.  
  27. FOR i=2 TO 4
  28. MENU i,0,0,""
  29. NEXT i
  30.  
  31. PRINT "okay3"
  32. haupt1:
  33. zeit&=TIMER
  34. zeit2&=10
  35. IF COMMAND$<>"" THEN
  36.  zeit2&=VAL(COMMAND$)
  37. END IF
  38.  
  39. IF zeit2&<1 THEN zeit2&=1
  40. PRINT "Die Zeit steht auf ";zeit2&;" Sekunden"
  41. poregister&=14675978&
  42. p1register&=14675980&
  43.  
  44. mr&=14675990&
  45. dr&=12574721&
  46. ml&=dr&
  47. t1&=12577793&
  48. p00=PEEKW(poregister&)
  49. p11=PEEKW(p1register&)
  50. br11=PEEKW(mr&)
  51. bl11=PEEK(ml&)
  52. d11=PEEK(dr&)
  53. t11=PEEK(t1&)
  54.  
  55. haupt:
  56.  
  57. p0=PEEKW(poregister&)
  58. p1=PEEKW(p1register&)
  59. br1=PEEKW(mr&)
  60.  d1=PEEK(dr&)
  61. bl1=PEEK(ml&)
  62. t12=PEEK(t1&)
  63. IF p0<>p00  THEN GOSUB normal
  64.  IF d11<>d1  THEN GOSUB normal
  65. IF  br1<>br11  THEN GOSUB normal
  66. IF  p1<>p11  THEN GOSUB normal
  67. IF bl1<>bl11   THEN GOSUB normal
  68. IF t11<>t12  THEN GOSUB normal
  69.  
  70. IF TIMER-zeit2&>zeit& AND bit=0 THEN GOSUB dunkel
  71.  
  72.  
  73. m1%=MENU(0)
  74.  
  75. IF m1%<>1 THEN GOTO haupt
  76. m1%=MENU(1)
  77. ON m1%GOSUB eins,zwei,drei
  78. GOTO haupt
  79.  
  80. eins:
  81. WINDOW 2,"ZEIT EINSTELLEN IN SEKUNDEN",(100,100)-(310,130),1
  82.  
  83. LINE (130,5)-(170,20),2,bf
  84. LINE (130,5)-(170,20),1,b
  85.  
  86. COLOR 1,2
  87. LOCATE 2,18:PRINT "OKAY"
  88. COLOR 1,0
  89.  
  90. LINE (10,5)-(20,20),2
  91. LINE (10,5)-(30,5),2
  92. LINE (30,5)-(20,20),2
  93. PAINT (20,15),1,2
  94. LINE (90,20)-(110,20),2
  95. LINE (90,20)-(100,5),2
  96. LINE (110,20)-(100,5),2
  97. PAINT (100,15),1,2
  98. LOCATE 2,5:PRINT zeit2&
  99.  
  100. eins1:
  101. IF MOUSE(0)=0 THEN GOTO eins1
  102.  
  103. x=MOUSE(1)
  104. y=MOUSE(2)
  105.  
  106. IF y>5 AND y<20 THEN
  107. IF x>10 AND x<30 THEN zeit2&=zeit2&+1:CALL warten(.1)
  108. IF x>90 AND x<110 THEN zeit2&=zeit2&-1:CALL warten(.1)
  109. IF x>130 AND x<170 THEN GOTO eins2
  110. END IF
  111. IF zeit2&<1 THEN zeit2&=1
  112. IF zeit2&>4000 THEN zeit2&=4000
  113. LOCATE 2,5:PRINT zeit2&
  114. GOTO eins1
  115. eins2:
  116. IF zeit2&<1 THEN zeit2&=1
  117. WINDOW CLOSE 2
  118. PRINT "Die Zeit steht auf ";zeit2&;" Sekunden"
  119. RETURN
  120.  
  121. zwei:
  122. WINDOW 2,"Über das Programm 'BILDSCHIRMSCHONER'",(100,100)-(500,180),1
  123. PRINT "BILDSCHIRMSCHONER 1.0 ,programmiert am 12.7.1992"
  124. PRINT "von Siegfried Rings in HISOFT-BASIC (COMPILIERT)"
  125. PRINT "Dieses Programm ist FREEWARE !Jeder soll und darf"
  126. PRINT "es benutzen.Wer mehr wissen will,schreibt an:"
  127. PRINT "Siegfried Rings Software-Design"
  128. PRINT "Iserstraße 7, 5419 Kleinmaischeid BRD"
  129. PRINT
  130. PRINT "         Drücke linke Maustaste";
  131. WHILE MOUSE(0)<>1:WEND
  132. WINDOW CLOSE 2
  133. RETURN
  134.  
  135. drei:
  136. SYSTEM
  137.  
  138. dunkel:
  139. PALETTE 0,0,0,0
  140. CALL display (0)
  141. RETURN
  142.  
  143. normal:
  144.  
  145. p00=PEEKW(poregister&)
  146. p11=PEEKW(p1register&)
  147. br11=PEEKW(mr&)
  148. bl11=PEEK(ml&)
  149. d11=PEEK(dr&)
  150. t11=PEEK(t1&)
  151. zeit&=TIMER
  152. CALL display (1)
  153.  
  154.  PALETTE 0,r3%(0)/15,g3%(0)/15,b3%(0)/15
  155. REM bit=0
  156. REM pokew &hdff180,farbe&
  157. RETURN
  158.  
  159. SUB display(s%) STATIC
  160. IF s%=1 THEN POKEW 14676118&,33024&
  161. IF s%=0 THEN POKEW 14676118&,256
  162. END SUB
  163.  
  164. SUB warten (zeit) STATIC
  165. t=TIMER
  166. WHILE TIMER<t+zeit:WEND
  167. END SUB
  168.